package org.vaadinetherealintegration.client;

import etrl.core.Node;
import etrl.vecmath.Quat4f;
import etrl.vecmath.Vector3f;

/**
 * Interface used to plug examples into the main tab panel easily
 * @author harold
 *
 */
public interface ExampleInterface
{
        /**
         * Build the scene data of the example and return the root node
         * @return root node of the example's scene
         */
        public Node buildSceneRoot();
       
        /**
         * Get the initial camera position in this example
         * @return initial camera position
         */
        public Vector3f getInitialCameraPos();
       
        /**
         * Get the initial camera orientation in this example
         * @return initial camera orientation
         */
        public Quat4f getInitialCameraOrientation();
       
        /**
         * Clear event listeners or other stuff at example end
         */
        public void atExit();
       
        /**
         * Load resources needed for the example and do other stuff before example start
         */
        public void atStart();
}

